The invention relates to the data processing field, and more specifically, to the field of developing and using a distributed business logic application made up of a plurality of inter-communicating business activities for carrying out a specific business logic data processing task.
In modern data processing systems a specific business logic data processing task (e.g., a customer order entry and processing task) is often handled by software which is distributed over a plurality of data processing machines which are inter-communicating with each other via a network (such as the Internet). In constructing such a distributed business logic data processing application, business xe2x80x9cactivitiesxe2x80x9d are commonly used. An activity is a reusable component of work which performs some specified business task in the context of other activities. In other words, a number of activities can be constructed (potentially independently) and then assembled together to produce a logical business application. An activity can communicate with another activity in the system via some well-defined protocol (for example, a message-based communication system, or TCP/IP). Such a composed application can then be deployed on the available middleware to form a running system.
As an example in the customer order entry area, one activity might accept the customer""s order for a specific product, another activity might do some initial processing of the order to make sure the order is valid (and ask the customer for revised information if the order is not valid), and yet another activity will contact the billing and shipment departments for further processing of the order. Each of these activities might advantageously be located on a separate machine in a separate geographic location.
When writing the software code for the respective activities, the software programmer needs to expend considerable development effort, time and expense in actually writing the code to accomplish the business logic for the respective activities.
According to one aspect, the invention provides a data processing apparatus for carrying out a specific business logic data processing task, comprising a plurality of business activities running on at least one data processing machine, each activity communicates with other activities via at least one communications protocol in order to carry out the specific business logic data processing task, wherein at least one of the activities includes a plurality of message broker data processing nodes.
According to a second aspect, the invention provides a computer program product for, when run on a computer, carrying out the functionality recited with respect to the apparatus of the first aspect.
According to a third aspect, the invention provides a data processing method comprising steps of: receiving a client request within a first business activity which is part of a network of inter-communicating business activities which carry out a specific business logic data processing task; processing the client request within the first business activity; and forwarding the client request to another business activity in the network of inter-communicating business activities; wherein at least one of the activities includes a plurality of message broker data processing nodes.
According to a fourth aspect, the invention provides a computer readable storage medium for, when run on at least one computer, instructing the at least one computer to carry out the steps of the third aspect.
Thus, with the present invention, because message broker data processing nodes are placed within a business activity, in a network of inter-communicating business activities, the message broker nodes become an integral part of the overall business logic application. Previously, a fully written business logic application was deployed on available middleware (such as a message broker) with the middleware being used only as a platform for running the fully written business logic application. In contrast, the present invention places such message broker nodes directly in the business logic application (as an integral part thereof).
Thus, the flexible and powerful message broker data processing nodes can be re-used in the business logic activity (or activities) in a very simple and straightforward way, saving much development effort since the developer of the business logic application can place message broker functionality into his business application without needing to separately write the code to achieve such functionality. For example, should the business logic application developer wish to have a message format transformation function added to his business logic application, he/she does not need to write such code from scratch, instead, he/she need only take a pre-existing format transformation message broker data processing node and place it in one of the activities of the business logic application.